package com.hjk.common.model.vo;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 统计kafka消息执行时间表
 *
 * @author huangjunkai
 * @since 2020-04-14 00:49:05
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("kafka_count_time")
@ApiModel("统计kafka消息执行时间表")
public class KafkaCountTime extends Model<KafkaCountTime> implements Serializable {
    private static final long serialVersionUID = 224263903072846167L;
    /**
    * 主键
     * @ApiModelProperty()用于方法，字段； 表示对model属性的说明或者数据操作更改
     * value–字段说明
     * name–重写属性名字
     * dataType–重写属性类型
     * required–是否必填
     * example–举例说明
     * hidden–隐藏
    */
    @ApiModelProperty(value = "主键")
    private Integer id;


    @ApiModelProperty("消息条数")
    private long counts;

    @ApiModelProperty("执行毫秒值")
    private long times;


    @ApiModelProperty("执行全限定类名+方法")
    private String fully;

    /**
    * 创建时间
    */
    @JsonIgnore
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    /**
    * 更新时间
    */
    @JsonIgnore
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastUpdateTime;

    /**
     * 主键值，ActiveRecord 模式这个必须有，否则 xxById 的方法都将失效！
     * 即使使用 ActiveRecord 不会用到 RoleMapper，RoleMapper 这个接口也必须创建
     */
    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
